<HTML>
<HEAD>
   <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
   <META NAME="Author" CONTENT="Chr. Clemens Lee">
   <TITLE>JavaNCSS Release History</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#D3DCE2" LINK="#4367AB" VLINK="#551A8B" ALINK="#FF0000">

<CENTER>&nbsp;</CENTER>

<CENTER>
<H1>
JavaNCSS Release History</H1></CENTER>
Continue reading on <A HREF="index.html#release">JavaNCSS</a>'s main page.
<H2>
Table of Contents</H2>

<UL>
<LI><a href="#28.49">Version 28.49</a></li><LI><a href="#27.48">Version 27.48</a></li><LI><a href="#25.45">Version 25.45</a></li><LI><a href="#24.44">Version 24.44</a></li><LI><a href="#23.43">Version 23.43</a></li><LI><a href="#22.42">Version 22.42</a></li><LI><a href="#21.41">Version 21.41</a></li><LI><a href="#20.40">Version 20.40</a></li><LI><a href="#19.39">Version 19.39</a></li><LI><a href="#18.38">Version 18.38</a></li><LI><a href="#17.37">Version 17.37</a></li><LI><a href="#16.34">Version 16.34</a></li><LI><a href="#15.32">Version 15.32</a></li><LI><a href="#14.31">Version 14.31</a></li><LI><a href="#13.30">Version 13.30</a></li><LI><a href="#12.27">Version 12.27</a></li><LI><a href="#11.26">Version 11.26</a></li><LI><a href="#10.25">Version 10.25</a></li><LI><a href="#9.24">Version 9.24</a></li><LI><a href="#8.23">Version 8.23</a></li><LI><a href="#7.21">Version 7.21</a></li><LI><a href="#6.19">Version 6.19</a></li><LI><a href="#6.18">Version 6.18</a></li><LI><a href="#5.16">Version 5.16</a></li><LI><a href="#4.10">Version 4.10</a></li><LI><a href="#3.9">Version 3.9</a></li><LI><a href="#2.4">Version 2.4</a></li><LI><a href="#1.2">Version 1.2</a></li>

</ul>

<H2>
<A NAME="release"></A>Release History</H2>




<H3><A NAME=28.49></A>Version 28.49</H3>
      Version 28.49 has been released on October 6, 2006<p>Various Java 1.5 grammar parser bugs fixed.
<h4>What's New</h4><ol><li>New "ant test" task. Use "ant check" as before for
   JavaNCSS self testing, thought.
</li></ol><h4>Fixed Bugs</h4><ol><li>Various Java 1.5 grammar parser bugs fixed.
</li></ol><H3><A NAME=27.48></A>Version 27.48</H3>
      Version 27.48 has been released on July 25, 2006<p>Javadoc bug fixed.
<h4>Fixed Bugs</h4><ol><li>Javadoc bug fixed, reported by Kyle Blaney.
</li></ol><H3><A NAME=25.45></A>Version 25.45</H3>
      Version 25.45 has been released on May 14, 2006<p>Various Java 1.5 parser bugs fixes.
<h4>Fixed Bugs</h4><ol><li>Various small Java 1.5 parser bugs fixes.
</li></ol><H3><A NAME=24.44></A>Version 24.44</H3>
      Version 24.44 has been released on April 24, 2006<p>Fix in method counter in Java 1.5 grammar code.
<h4>Fixed Bugs</h4><ol><li>Fix in method counter in Java 1.5 grammar code, detected by
   Don Morrison.
</li></ol><H3><A NAME=23.43></A>Version 23.43</H3>
      Version 23.43 has been released on April 23, 2006<p>Fix in Enum parser.
<h4>Fixed Bugs</h4><ol><li>Fix in Enum parser, reported by Don Morrison.
</li></ol><H3><A NAME=22.42></A>Version 22.42</H3>
      Version 22.42 has been released on April 16, 2006<p>Java 1.5 support.
<h4>What's New</h4><ol><li>Support for all new language features in Java
   1.5.
</li><li>A new XSLT stylesheet 'javancss2methodhtml.xsl'
   proposed by Wally Bowles to drop the words
   Function and to use the word Method instead.
</li></ol><H3><A NAME=21.41></A>Version 21.41</H3>
      Version 21.41 has been released on September 6, 2002<p>SVG charts can be generated with new XSLT stylesheets.
<h4>What's New</h4><ol><li>Ives Coene donated XSLT stylesheets which generate beautiful
   SVG charts from the JavaNCSS XML output.
</li><li>The javancss.jar file contains now a manifest file that
   lets JavaNCSS execute via java's -jar option. The build.xml
   file has been updated accordingly. Thanks to Brad Kievel for
   this patch.
</li><li>Additional XSLT stylesheet that copies a standard JavaNCSS
   XML output file and replaces the overloaded 'functions'
   tags with names that are different for different elements.
</li></ol><h4>Fixed Bugs</h4><ol><li>Javadocs per Function always had a wrong value in the XML
   output. Thanks to David Brandt for fixing this.
</li><li>Vesa Karvonen found a rare bug in the XML output which 
   reveals itself only in conjunction with some exotic locales.
</li></ol><H3><A NAME=20.40></A>Version 20.40</H3>
      Version 20.40 has been released on July 5, 2002<p>Two new XSLT stylesheets, one of them to convert the JavaNCSS 
XML output to HTML.
<h4>What's New</h4><ol><li>Terry Skelton donated an XSLT stylesheet to convert the XML
   output of JavaNCSS to HTML. The report is formatted to have
   a similar look to other common ANT reports (changelog,
   jdepend, etc.).
</li><li>Ross Gardler donated an XSLT stylesheet to convert the XML
   output of JavaNCSS to a format very close to HTML. This
   can be used to generate custom HTML pages for your project.
</li></ol><H3><A NAME=19.39></A>Version 19.39</H3>
      Version 19.39 has been released on June 8, 2002<p>Ant task written by Steve Jernigan.
<h4>What's New</h4><ol><li>JavaNCSS has now bundled the Ant task from Steve Jernigan.
   This task also provides some additional features as
   checking metrics for defined thresholds.
   Thanks also to Phillip Wells who worked on polishing source
   code and documentation of that task.
</li></ol><H3><A NAME=18.38></A>Version 18.38</H3>
      Version 18.38 has been released on May 11, 2002<p>Fixed a rare parsing bug.
<h4>Fixed Bugs</h4><ol><li>Could not parse accessing an element of the parent class of 
   the outer class in an inner class, or in other words: could
   not parse this code:
</li></ol><H3><A NAME=17.37></A>Version 17.37</H3>
      Version 17.37 has been released on May 4, 2002<p>Javadocs metric on package level and example XSLT stylesheet.
<h4>What's New</h4><ol><li>Javadocs are now also displayed on a package level thanks
   to a patch by Emilio Gongora and Guillermo Rodriguez.
</li><li>XSLT stylesheet to convert XML output to ascii output.
   This is identical to the output you could get directly from
   JavaNCSS and much slower, but can be used as a basis for your
   own output format or to produce HTML output instead text.
</li></ol><h4>Fixed Bugs</h4><ol><li>Javadocs were mistakenly counted for attributes as well.
   This bug has been crept in with the last version.
</li><li>In some rare circumstances -recursive gave out a wrong
   "File not found" error message, thought it still processed
   all files correctly.
</li><li>"File not found" error message was only presented for the
   last missing file and not for all of them.
</li></ol><H3><A NAME=16.34></A>Version 16.34</H3>
      Version 16.34 has been released on April 7, 2002<p>Recursive feature, support of JDK 1.4 assert statements.
<h4>What's New</h4><ol><li>Paako Hannu provided code to recursively parse all Java files 
   including those in subdirectories.
</li><li>JavaNCSS supports now JDK 1.4 assert statements. At the same
   time methods or variables of name 'assert' are still parsed
   successfully, JavaNCSS is just not able to accept a field of
   type 'assert' anymore.
</li><li>John Wilson provided code to use "\r\n" on Windows to end 
   lines for JavaNCSS's ascii output. You might be able to turn
   this behavior off by overwriting the line.separator system 
   property when invoking the Java virtual machine.
</li></ol><H3><A NAME=15.32></A>Version 15.32</H3>
      Version 15.32 has been released on November 21, 2001<p>New -out option.
<h4>What's New</h4><ol><li>New option -out to specify output file. By default std out is
   used. Patch was supplied by Ted Leung.
</li><li>An Ant task for JavaNCSS has been published by Steve Jernigan 
   at http://sourceforge.net/projects/javancss2ant/.
</li><li>A basic Ant build.xml file gets distributed together with
   JavaNCSS. This file should be fine to compile the Java source
   files, but is not enough to create the jar file nor
   to compile the grammar with JavaCC.
</li></ol><h4>Bugs Fixed</h4><ol><li>When relative files are given JavaNCSS will now take the 
   user.dir property in account to locate a file.
</li></ol><H3><A NAME=14.31></A>Version 14.31</H3>
      Version 14.31 has been released on June 16, 2001<p>Major XML format bug fix.
<h4>Bugs Fixed</h4><ol><li>XML format for object section was not well formed
   (missed closing objects tag).
</li><li>Missing newline after total printout of ncss.
</li></ol><H3><A NAME=13.30></A>Version 13.30</H3>
      Version 13.30 has been released on June 14, 2001<p>Optional xml output.
<h4>What's New</h4><ol><li>Output in xml format of collected data. Use option -xml
   (and recommended -all) at the command line and the metric
   results will be formatted in xml for further processing
   with xslt (e.g. to create a web page) or for importing in
   other applicatons. A dtd is distributed as well.
</li></ol><h4>Bugs Fixed</h4><ol><li>Added 'strictfp' keyword to Java grammar.
</li></ol><H3><A NAME=12.27></A>Version 12.27</H3>
      Version 12.27 has been released on March 27, 2001<p>Minor bug fix release.
<h4>Bugs Fixed</h4><ol><li>Failure to parse 'this( name, o, (String)null, array );'
   as the first statement in a constructor.
</li></ol><H3><A NAME=11.26></A>Version 11.26</H3>
      Version 11.26 has been released on March 23, 2001<p>Minor bug fix release.
<h4>Bugs Fixed</h4><ol><li>Failure to parse 'this.var = x;' as the first statement in
   a constructor.
</li></ol><H3><A NAME=10.25></A>Version 10.25</H3>
      Version 10.25 has been released on March 21, 2001<p>Minor improvements.
<h4>What's New</h4><ol><li>JAVANCSS_HOME in javancss.bat is now set automaticly.
</li><li>'-check' option to trigger self tests from command line.
</li></ol><h4>Bugs Fixed</h4><ol><li>'super((InputStream)null,null)' gets parsed successfully
   now.
</li></ol><H3><A NAME=9.24></A>Version 9.24</H3>
      Version 9.24 has been released on October 4, 2000<p>Fixed a small Java parser bug.
<h4>What's New</h4><ol><li>No new features.
</li></ol><h4>Bugs Fixed</h4><ol><li>Fixed a small Java parser bug reported by Ramon Felciano.
</li></ol><H3><A NAME=8.23></A>Version 8.23</H3>
      Version 8.23 has been released on July 1, 2000<p>Javadoc comments for methods are now counted.
<h4>What's New</h4><ol><li>Javadoc comments for methods are now counted. The output
   for functions has a metric JVDC, which indicates if this
   method is formally documented or not.
</li></ol><H3><A NAME=7.21></A>Version 7.21</H3>
      Version 7.21 has been released on January 31, 2000<p>Published now under the GNU General Public License.
<h4>What's New</h4><ol><li>Javancss is now distributed under the GNU General Public
   License.
</li><li>Upgraded to JavaCC 1.1.
</li></ol><H3><A NAME=6.19></A>Version 6.19</H3>
      Version 6.19 has been released on November 12, 1998<p>More tolerant towards parser errors.
<h4>What's New</h4><ol><li>Javancss now continues with parsing the next source
   file after coming across a parse error.
</li><li>Exit return code (1 or 0).
</li><li>Moved to javax swing convention (swing 1.1 beta 3).
</li></ol><H3><A NAME=6.18></A>Version 6.18</H3>
      Version 6.18 has been released on July 28, 1998<p>More tolerant towards parser errors.
<h4>What's New</h4><ol><li>Javancss now continues with parsing the next source
   file after coming across a parse error.
</li><li>Exit return code (1 or 0).
</li></ol><H3><A NAME=5.16></A>Version 5.16</H3>
      Version 5.16 has been released on July 24, 1998<p>Some weird input gets now accepted by the parser and a CCN
counting bug got fixed.
<h4>What's New</h4><ol><li>Added self test. Start it with:
   <tt>java javancss.test.JavancssTest</tt>
</li></ol><h4>Bugs Fixed</h4><ol><li>Cyclomatic Complexity Number takes now return and throw
   statements into account.
</li><li>Ctrl-Z at the end of a source file will be accepted now.
</li><li>&lt;EOF> at the end of a one line comment ('//') will be
   accepted now.
</li><li>Empty statements that javac accepts but are not allowed
   according to the Java Language Specification are now parsed
   without exception.
</li><li>Parse error messages were sometimes not very meaningful.
   This was a bug, not a missing feature.
</li><li>'-gui' command line option was implemented but not displayed
   with '-help' command.
</li></ol><H3><A NAME=4.10></A>Version 4.10</H3>
      Version 4.10 has been released on March 8, 1998<p>Just a minor bug fix version.
<h4>Bugs Fixed</h4><ol><li>Swing and AWT components where mixed which resulted in some
   small layout problems. The GUI frontend is now tested with
   Swing 1.0.1.
</li></ol><H3><A NAME=3.9></A>Version 3.9</H3>
      Version 3.9 has been released on February 17, 1998<p>New is a GUI frontend. Additionally the project manager Jacob
(<a href="http://www.kclee.com/clemens/jacob/">http://www.kclee.com/clemens/jacob/</a>) now includes the full
functionality of JavaNCSS, which makes selecting Java source
files much more convenient.
<h4>What's New</h4><ol><li>New '-gui' option, which is equivalent to '-all' and
   presents the output in it's <a href="gui.html">own window</a> instead of &lt;stdout>.
</li><li>You need swing in order to get this new feature working,
   though command line mode still works without it.
</li><li>New Jacob feature: a file with absolute file names of all 
   Java source files for the current project gets generated 
   when creating a new makefile. Its name is the project name
   plus '.srcfiles.txt' as postfix and will be located in
   the current project directory. This file can be further
   used by JavaNCSS in batch mode.
</li><li>The above feature can be used from the command line when
   specifying an '@' char in front of its file name. Then
   JavaNCSS interprets each line of its contents as the name of
   a java source file that should be counted. This also works
   recursively and normal source file names can be 
   intertwined with '@' files as well.
</li><li>New Jacob feature: 'NoEmacs' flag for Jacob's
   initialisation file and '-noemacs' startup option for use 
   without an editor. This feature is planned solely for 
   JavaNCSS users who don't want to use Jacob for programming 
   purposes.
</li></ol><h4>Fixed Bugs</h4><ol><li>Methods of anonymous classes are now presented with its
   class information.
</li></ol><H3><A NAME=2.4></A>Version 2.4</H3>
      Version 2.4 has been released on January 24, 1998<p><h4>What's New</h4><ol><li>New '-package' option. 
</li><li>When &lt;stdin> is used for input and a parse error occurs the
   last class and method successfully parsed is given together
   with the error message. Note, that errors in package or 
   import statements or not captured this way. 
</li><li>More documentation about what is "exactly" measured. 
</li><li>The grammar is now slightly more tolerant, but still not as
   tolerant as Sun's javac compiler. I made javancss just as 
   tolerant as necessary to parse Sun's original java.* source
   files. 
</li><li>Different options can be specified and all get executed, 
   therefor only one run is needed for different output 
   formats. 
</li><li>New '-all' option is equivalent to '-package -object
   -function'.
</li></ol><h4>Bugs Fixed</h4><ol><li>'default' keyword did increment the CCN counter, but it
   shouldn't.
</li></ol><H3><A NAME=1.2></A>Version 1.2</H3>
      Version 1.2 has been released on May 7, 1997<p>

<P>
<HR WIDTH="100%"><servlet name=cclcounter code=servlets.counter.CounterServlet><PARAM name=startdate value="Apr 3 1997"><PARAM name=offset value=17><PARAM name=ip3 value=129.26.13.252><PARAM name=ip2 value=129.26.121.4><PARAM name=ip1 value=129.26.40.42><PARAM name=ip4 value=129.26.120.57><PARAM name=ip5 value=129.26.120.101></servlet><A HREF="http://www.kclee.com/clemens/">Chr. Clemens Lee</A>, email to: <A HREF="mailto:clemens@kclee.com">clemens@kclee.com</A>
</BODY>
</HTML>
